package me.imli.app.util;

import me.imli.app.App;
import me.imli.app.Const;
import me.imli.app.R;
import android.util.Log;

public class LogUtil {
	
	/**
	 * TAG
	 */
	public static final String TAG = "LogUtil";

	/**
	 * 打印信息
	 * @param tag
	 * @param resId or msg
	 */
	public static void i(String tag, int resId) {
		i(tag, getString(resId));
	}
	public static void i(String tag, String msg) {
		if (Const.DEBUG_LOG && msg != null) {
			Log.i(tag, msg);
		} else {
			logError();
		}
	}
	
	/**
	 * 打印长信息
	 * @param tag
	 * @param resId or msg
	 */
	public static void v(String tag, int resId) {
		v(tag, getString(resId));
	}
	public static void v(String tag, String msg) {
		if (Const.DEBUG_LOG && msg != null) {
			Log.v(tag, msg);
		} else {
			logError();
		}
	}

	/**
	 * 打印调试信息
	 * @param tag
	 * @param resId or msg
	 */
	public static void d(String tag, int resId) {
		d(tag, getString(resId));
	}
	public static void d(String tag, String msg) {
		if (Const.DEBUG_LOG && msg != null) {
			Log.d(tag, msg);
		} else {
			logError();
		}
	}
	
	/**
	 * 打印警告信息
	 * @param tag
	 * @param resId or msg
	 */
	public static void w(String tag, int resId) {
		w(tag, getString(resId));
	}
	public static void w(String tag, String msg) {
		if (Const.DEBUG_LOG && msg != null) {
			Log.w(tag, msg);
		} else {
			logError();
		}
	}

	/**
	 * 打印错误日志
	 * @param tag
	 * @param resId or msg
	 */
	public static void e(String tag, int resId) {
		e(tag, getString(resId));
	}
	public static void e(String tag, String msg) {
		if (Const.DEBUG_LOG && msg != null) {
			Log.e(tag, msg);
		} else {
			logError();
		}
	}
	
	/**
	 * 打印错误
	 */
	private static void logError() {
		if (Const.DEBUG_LOG) {
			Log.e(TAG, getString(R.string.null_log_msg));
		}
	}
	
	
	/**
	 * getString
	 * @return
	 */
	private static String getString(int resId) {
		try {
			return App.getContext().getString(resId);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
}
